package org.eenie.kdassistant.injector.components;

import android.app.Application;

import com.baidu.location.LocationClient;

import org.eenie.kdassistant.App;
import org.eenie.kdassistant.injector.modules.ApiModule;
import org.eenie.kdassistant.injector.modules.AppModule;
import org.eenie.kdassistant.injector.modules.DBModule;
import org.eenie.kdassistant.net.AssistantApi;
import org.eenie.kdassistant.net.ParamsAnalog;
import org.eenie.kdassistant.net.kdy_api.KdyApi;
import org.eenie.kdassistant.net.xz_api.XingZheApi;
import org.eenie.kdassistant.net.yd_api.YDApi;
import org.eenie.kdassistant.net.yd_api.entity.DaoSession;
import org.eenie.kdassistant.net.zzt_api.ZZTApi;
import org.eenie.kdassistant.ui.BaseActivity;

import javax.inject.Singleton;

import dagger.Component;

/**
 * Created by Eenie on 2017/5/3.
 * Email: eeniework@gmail.com
 * Des:APP全局组件 需要获取实例的方法在这里写
 */
@Singleton
@Component(modules = {AppModule.class, DBModule.class, ApiModule.class})
public interface AppComponent {
    App getAppContext();


    DaoSession getDaoSession();


    XingZheApi getXzApi();

    ZZTApi getZZTApi();

    KdyApi getKdyApi();
    YDApi getYDApi();

    AssistantApi getAssistantApi();
    ParamsAnalog getParamsAnalog();

    LocationClient getLocationClient();

    void inject(Application application);

    void inject(BaseActivity activity);
}
